﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
using System.Data.SqlClient;
using System.Configuration;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web.SessionState;
using System.Web.UI.HtmlControls;



public partial class login : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        this.Label1.Text = "";
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        // Login button click
        if (Page.IsValid)
        {
            userLogin(this.TextBox1.Text.Trim(),this.TextBox2.Text.Trim());
        }

    }
    
    protected void userLogin(String username, String password)
    {
        DataClassesDataContext dc = new DataClassesDataContext();
        long retval = 0;     
        try
        {
            retval =  dc.userLogin(this.TextBox1.Text.Trim(), this.TextBox2.Text.Trim() );
        }
        catch (Exception ex)
        {
            Exception ex2 = ex;
            HttpContext.Current.Session["message"] = "Η σύνδεση με την βάση δεδομένων απέτυχε.";
            return;
        }

        if (retval < 0)
        {
            if (retval == -1)
                HttpContext.Current.Session["message"] = "Ο λογαριασμός σας δεν έχει ενεργοποιηθεί!";
            if (retval == -3)
                HttpContext.Current.Session["message"] = "Ο λογαριασμός σας έχει κλειδωθεί λόγω πολλών αποτυχημένων προσπαθειών σύνδεσης. Θα ξεκλειδώσει σε λίγα λεπτά!";
            if (retval == -2)
                HttpContext.Current.Session["message"] = "Λανθασμένος συνδυασμός ονόματος χρήστη και συνθηματικού!";
        }
        else
        {
            User usr =
                (from u in dc.Users
                where u.ID == retval 
                select u).Single();



            Session["username"] = usr.Username;
            Session["isValid"] = "true";
            Session["usertype"] = usr.Usertype;
            Response.Redirect("default.aspx");
        }
    }

    protected void TextBox2_TextChanged(object sender, System.EventArgs e)
    {

    }
}